一個完整的開源庫必須包含
持續集成是經常合併小的代碼更改的實踐,而不是在開發週期結束時合併大型的更改。目的是通過以較小的增量開發和測試來構建更健康的軟件。這就是Travis CI出現的地方。
作為一個持續集成平台,Travis CI通過自動構建和測試代碼更改來支持您的開發過程,並提供有關更改成功的即時反饋。Travis CI還可以通過管理部署和通知來自動化開發過程的其他部分。
運行構建時,Travis CI將GitHub存儲庫克隆到全新的虛擬環境中,並執行一系列任務來構建和測試代碼。如果這些任務中的一項或多項失敗,則將構建視為已 損壞。如果所有任務均未失敗,則認為構建已通過,並且Travis CI可以將您的代碼部署到Web服務器或應用程序主機。
CI構建也可以自動化交付工作流程的其他部分。這意味著您可以通過Build Stages,設置通知,在構建後準備 部署以及許多其他任務來使工作相互依賴。
簡單來說:當我們把library部署上去時,travis CI會先依據我們的設定裝上特定的node版本環境,再藉由我們的package.json和package.lock.json裝好依賴的套件,再藉著我們的設定去執行我們交代的任務,像是npm run test 或 npm run build,如果都沒抱錯的話,還會給我們一個小徽章喔。
「持續整合」簡稱 CI,簡單來說,就是指當開發者把程式碼提交(commit)到 repository 後,可以自動地進行後續的一些動作,這些動作像是執行測試、打包原始碼、發佈和部署專案程式碼。例如,當開發者把程式碼發佈到 Github 上後,就可以透過 CI 立即對剛推上 Github 的程式碼進行測試,確保最新的程式碼是可以正確運作的,測試結束後則自動地繼續進行打包和部署。
由於持續整合的這些動作(例如,執行測試、打包、部署)都需要伺服器才能執行,因此勢必需要透過一些工具或服務才能達到。常見的 CI 服務包括 Travis CI、CircleCI,或是由 Github 本身提供的 Github Actions 等等,這些服務都能和 Github 上的 repository 進行持續整合。
也就是說如果每次push都能夠自動運行單元測試,這樣就省去了手動運行的繁瑣,而travis-ci已經為我們提供了這個功能。
這部分先到這裡,最後我們會一起實作並寫出屬於我們自己的開源庫。實體範例會跟測試一樣在後面實作